The present invention relates generally to communication networks, and, more particularly, a system for handling interrupts in a cellular communication network.
A cellular communication network includes multiple mobile switching centers (MSCs), home location registers (HLRs), base station controllers (BSCs), base transceiver stations (BTSs), and user equipment (UE). Some of the terms used herein, such as MSC, BSC, BTS, and UE, are technology standard specific and in this case are used in the Global System for Mobile communication (GSM) standard of wireless communication. The BTS in the GSM standard corresponds to Node-B in the third generation (3G) and eNode-B in the fourth generation (4G) wireless communication standards. Each BTS includes radio-frequency integrated circuits (RFICs) and a baseband processor.
Coverage areas of cellular communication network are divided into multiple cells. A cell represents a geographical area served by a single BTS. Cells are split into multiple sectors in order to increase efficiency. In such cases, a separate antenna is used to serve each sector of the cell and hence, multiple antennas are used for such cells. Each antenna is connected to an RFIC, and each RFIC is connected to the baseband processor. Thus, for a BTS having multiple antennas, multiple RFICs are connected to the baseband processor.
Each antenna receives data over multiple radio-frequency (RF) channels. The data is sent to the RFIC connected to the antenna. The RFIC receives the data, generates an interrupt based on the data received, and then provides the interrupt to the baseband processor, where it is received and serviced. The interrupts may be of various types, such as interrupts for data transfer, interrupts for cell handover, interrupts for call setup and tear down, and direct memory access (DMA) interrupts.
Further, in a BTS, multiple radio interfaces may be used for data transfer between multiple UEs. Each radio interface may include multiple streams of data. In such cases, the RFIC generates a separate interrupt for each radio interface or for each stream of data. Thus, multiple interrupts are transmitted to the baseband processor. In another example, for data transfer over large bandwidths, multiple RFICs are required to cater to the data transfer in a sector. Thus, each RFIC generates an interrupt and hence, the baseband processor receives multiple interrupts for the sector.
Since the baseband processor receives multiple interrupts, it is essential for the baseband processor to keep track of and synchronize them. The baseband processor services the interrupts individually as they arrive and requires many software computations for servicing the interrupts. For periodic interrupts that are received frequently, the software computations involved in servicing, tracking and synchronizing the interrupts are very large, which impacts the ability of the baseband processor to continually, quickly service all of the interrupts.
One known technique to assist the baseband processor in servicing interrupts uses software executed by the baseband processor for merging the interrupts. However, since most of the interrupts are periodic and have a short time period, i.e., the interrupts are generated frequently, the interrupt count increases. Hence, the software overhead associated with merging the interrupts is high. Since the interrupts are real-time and periodic, the software must synchronize multiple instances of the interrupts before merging them and hence, the complexity of the computations to merge the interrupts is high. Hence, merging of the interrupts by the software consumes enormous resources of the baseband processor.
Therefore it would be advantageous to have a system for merging interrupts without such high software overhead and which improves the performance of the baseband processor.